package com.nowcoder.community.dao;

import com.nowcoder.community.entity.DiscussPost;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface DiscussPostMapper {

    /**
     * 支持分页查询
     * @param userId
     * @param offset 每一页起始行行号
     * @param limit 每一页最多包含的评论条数
     * @return
     */
    List<DiscussPost> selectDiscussPosts(int userId, int offset, int limit, int orderMode);

    /**
     * 查询全部帖子的数量
     * @param userId
     * @return
     */
    // 当需要动态地调整和接口中某方法关联的sql语句的查询条件
    // 且查询条件用到的参数是接口方法的唯一参数
    // 则必须使用@Param注解为参数起一个别名
    // 否则报错
    int selectDiscussPostRows(@Param("userId") int userId);

    int insertDiscussPost(DiscussPost discussPost);

    DiscussPost selectDiscussPostById(int id);

    int updateCommentCount(int id, int commentCount);

    // 
    int updateType(int id, int type);

    int updateStatus(int id, int status);

    int updateScore(int id, double score);

}
